12. 仮想環境とパッケージ
12.1. はじめに
1つのインストールされたPythonが全てのアプリケーションの要求に対応することは不可能です。
もしアプリケーションAがあるモジュールのバージョン 1.0 を要求していて、別のアプリケーションBが同じモジュールのバージョン 2.0 を要求している場合、2つの要求は衝突していて、1.0 と 2.0 のどちらかのバージョンをインストールしても片方のアプリケーションが動きません。
アプリケーションごとに環境を用意して解決する
12.2. 仮想環境の作成
仮想環境の一般的なディレクトリの場所は .venv です。
この名前は、通常はシェルで隠されているため、ディレクトリが存在する理由を説明する名前を付けても、邪魔にはなりません。
また、一部のツールでサポートされている .env 環境変数定義ファイルによるクラッシュも防止します。
12.3. pip を使ったパッケージ管理
Python Package Index (PyPI)
pip install
pip show
pip list
pip freeze
python -m pip freeze はインストールされたパッケージ一覧を、python -m pip install が解釈するフォーマットで生成します。一般的な慣習として、このリストを requirements.txt というファイルに保存します
requirements.txt をバージョン管理システムにコミットして、アプリケーションの一部として配布することができます。ユーザーは必要なパッケージを install -r でインストールできます